<?php

$bouton_haut = array(true, false, true);
include_once 'structure/vue_menu_superieur.php';

$action = isset($_GET['action']) ? $_GET['action'] : ''; // Sert pour les déplacement dans le contrôleur.
$etatAction = !empty($_GET['etatAction']) ? $_GET['etatAction'] : ""; // Permet de savoir les actions réussies ou échouées.
$genreAction = !empty($_GET['genreAction']) ? $_GET['genreAction'] : false; // Permet de déterminée d'où l'action viens après avoir été effectuée.

$formulaire_rempli = isset($_POST['formulaire_rempli']) ? ($_POST['formulaire_rempli']) : '';
$idChoisiePourUpdate = isset($_POST['idChoisiePourUpdate']) ? ($_POST['idChoisiePourUpdate']) : '';
$idTechnicien = isset($_GET['idTechnicien']) ? ($_GET['idTechnicien']) : false;
$idTechnicienChoisi = isset($_GET['idTechnicienChoisi']) ? ($_GET['idTechnicienChoisi']) : '';

$nomTechnicien = isset($_POST['nomTechnicien']) ? addslashes($_POST['nomTechnicien']) : '';
$prenomTechnicien = isset($_POST['prenomTechnicien']) ? addslashes($_POST['prenomTechnicien']) : '';
$identifiantConnexionTechnicien = isset($_POST['identifiantConnexionTechnicien']) ? addslashes($_POST['identifiantConnexionTechnicien']) : '';
$commentaireTechnicien = isset($_POST['commentaireTechnicien']) ? addslashes($_POST['commentaireTechnicien']) : '';
$nomTechnicienChoisi = isset($_POST['nomTechnicienChoisi']) ? addslashes($_POST['nomTechnicienChoisi']) : '';
$prenomTechnicienChoisi = isset($_POST['prenomTechnicienChoisi']) ? addslashes($_POST['prenomTechnicienChoisi']) : '';
$code_postal = isset($_GET['code_postal']) ? addslashes($_GET['code_postal']) : '';

$motDePasseTechnicien = isset($_POST['motDePasseTechnicien']) ? $_POST['motDePasseTechnicien'] : false;

$motDePasseTechnicienActuel = isset($_POST['motDePasseTechnicienActuel']) ? $_POST['motDePasseTechnicienActuel'] : false;
$motDePasseTechnicienNouveau = isset($_POST['motDePasseTechnicienNouveau']) ? $_POST['motDePasseTechnicienNouveau'] : false;
$motDePasseTechnicienConfirme = isset($_POST['motDePasseTechnicienConfirme']) ? $_POST['motDePasseTechnicienConfirme'] : false;

//Procédure d'ajout de technicien
if ($action == "a") {
    
	if ($formulaire_rempli != 'A') {

		include_once 'vues/vue_creation_technicien.php';
        $bouton_bas = array(false, false, false);
	}

	//après un formulaire d'insertion rempli        
    else {
    	
    	$etatAction = Techniciens::inserer_technicien(remplacer_cote($nomTechnicien), remplacer_cote($prenomTechnicien), remplacer_cote($identifiantConnexionTechnicien), $motDePasseTechnicien, remplacer_cote($commentaireTechnicien));

    	header("location:index.php?page=techniciens&etatAction=$etatAction&genreAction=ajout");
    }
}

// Procédure de modification        
else if ($action == "m") {
    
	$technicien = Techniciens::afficher_technicien_par_id($idTechnicienChoisi);
    include_once 'vues/vue_modification_technicien.php';
    
    $bouton_bas = array(false, true, false, 'techniciens');
    include_once 'structure/vue_menu_inferieur.php';
    
} 

// Procédure de modification du seul mot de passe
else if ($action == "mdp") {
	
    $technicien = Techniciens::afficher_technicien_par_id($idTechnicienChoisi);
    include_once 'vues/vue_modification_mdp_technicien.php';
    
    $bouton_bas = array(false, true, false, 'techniciens');
    include_once 'structure/vue_menu_inferieur.php';

}

// Mises à jour dans la base
else if ($action == "u") {

	//si $motDePasseTechnicien est vide, c'est que l'on venait du formulaire
    // de modif des nom, prenom, commentaire, etc
    if ( ! $motDePasseTechnicienActuel) 
        $etatAction = Techniciens::updater_technicien($idTechnicienChoisi, remplacer_cote($nomTechnicien), remplacer_cote($prenomTechnicien), remplacer_cote($identifiantConnexionTechnicien), remplacer_cote($commentaireTechnicien));

    // si $motDePasseTechnicien n'est pas vide, mettre à jour le mdp dans la base
    else 
       $etatAction = Techniciens::changer_mdp_technicien($idTechnicienChoisi, $motDePasseTechnicienActuel, $motDePasseTechnicienNouveau, $motDePasseTechnicienConfirme);

	header("Location:index.php?page=techniciens&etatAction=$etatAction&genreAction=update");
}

// Procédure de suppression de technicien  
else if ($action == "s") {
	
    $technicien = Techniciens::afficher_technicien_par_id($idTechnicienChoisi);
    include_once 'vues/vue_suppression_technicien.php';
    
} 

// Suppression d'un technicien choisi au préalable par son ID
else if ($action == "d") {
	
    $etatAction = Techniciens::supprimer_technicien($idTechnicienChoisi);
    
    header("Location:index.php?page=techniciens&etatAction=$etatAction&genreAction=suppr");
    
}

// Fiche technicien
else if ($idTechnicien != false) {

	$technicien = Techniciens::afficher_technicien($idTechnicien); // Récupération des informations du technicien par l'id
    include_once 'vues/vue_fiche_technicien.php'; 
    
    // Barre du menu du bas
    $bouton_bas = array(true, true, false, 'techniciens&idTechnicienChoisi=' . $technicien->idTechnicien);
    include_once 'structure/vue_menu_inferieur.php';
    
} 

// Par défaut, affichage de la liste des techniciens
else {
	
    $techniciens = Techniciens::afficher_techniciens(); // Requête pour obtenir les information des techniciens
	
    // Action effectuée
    if($etatAction != ""){
    	
//     	echo "Etat action = $etatAction.";
    	    
	    // Réussite des actions précédentes
	    if ($etatAction ==  1 ) { 
	    	
	    	// Modification du message de la vue_action_erreur en fonction de la provenance de l'action
	    	if ($genreAction == "ajout")
	    		$txt_action = " L'ajout des informations a bien été effectués";
	    	 
	    	else if($genreAction == "update")
	    		$txt_action = " La modification des informations a bien été effectués ";
	    	 
	    	else
	    		$txt_action = " La suppression des informations a bien été effectués";
	    	
	    	include_once 'vues/vue_action_valide.php';
	    }
	    
	    // Si l'action effectuée à RATE
	    else {
	    
// 	    	echo "Est un booléen ? ".is_bool($etatAction).'.';
// 	    	echo "Est un nombre ? ".is_numeric($etatAction).'.';
// 	    	echo "Est un string ? ".is_string($etatAction).'.';
	    	
	    // Modification du message de la vue_action_erreur en fonction de la provenance de l'action
	    // Message d'erreur de la modification du mot de passe actuel
	    
	    if ($genreAction == "ajout")
	    	$txt_action = " Echec dans l'ajout des informations.";
	    
	    else if($genreAction == "update"){
	    	 
	    	if ($etatAction == "Mot de passe saisis différents")
	    		$txt_action = "Le nouveau mot de passe et le mot de passe à confirmer sont différents.";
	    	 
	    	else if ($etatAction == "Mot de passe actuel faux")
	    		$txt_action = "Le mot de passe actuel est faux.";
	    	 
	    	else
	    		$txt_action = "  Echec dans la modification des informations.";
	    
	    }
	    else
	    	$txt_action = " Echec dans la suppression des informations.";
	     
	    include_once 'vues/vue_action_erreur.php';
	    }
    
    }
    
    include 'vues/vue_menu_technicien.php';
    
    $bouton_bas = array(false, false, true, 'techniciens');
    include 'structure/vue_menu_inferieur.php';

}
?>